package components;

import com.uqbar.vainilla.colissions.CollisionDetector;

public abstract class Shape {
	private CollisionDetector detector;
	private CollisionableComponent component;
	
	public Shape(CollisionableComponent comp){
		this.setDetector(CollisionDetector.INSTANCE);
		this.setComponent(comp);
	}

	public CollisionDetector getDetector() {
		return detector;
	}

	public void setDetector(CollisionDetector detector) {
		this.detector = detector;
	}

	public CollisionableComponent getComponent() {
		return component;
	}

	public void setComponent(CollisionableComponent component) {
		this.component = component;
	}	
	public abstract boolean collideWithRect(CollisionableComponent rect);
	public abstract boolean collideWithCircle(CollisionableComponent circle);
	public abstract boolean collisionNature(CollisionableComponent target);
}
